home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-17 | 999 b | 55 lines | [TEXT/CWIE] |
- // Completor.h
-
- #ifndef Completor_h
- #define Completor_h
-
- #ifndef Procedure_h
- #include "Procedure.h"
- #endif
- #ifndef DeferredTaskTime_h
- #include "DeferredTaskTime.h"
- #endif
- #ifndef ApplicationTime_h
- #include "ApplicationTime.h"
- #endif
-
- class Completor
- {
- private:
- DeferredTaskTimeProcedure *deferred;
- ApplicationTimeProcedure *application;
-
- public:
- Completor()
- : deferred( 0 ),
- application( 0 )
- {}
-
- Completor( DeferredTaskTimeProcedure& p )
- : deferred( &p ),
- application( 0 )
- {}
-
- Completor( ApplicationTimeProcedure& p )
- : deferred( 0 ),
- application( &p )
- {}
-
- bool WantsDeferredTaskTime() const { return deferred != 0; }
- bool WantsApplicationTime() const { return application != 0; }
-
- void operator()( DeferredTaskTime time )
- {
- Assert( WantsDeferredTaskTime() );
- (*deferred)( time );
- }
-
- void operator()( ApplicationTime time )
- {
- Assert( WantsApplicationTime() );
- (*application)( time );
- }
- };
-
- #endif
-